package edu.nf.exam.service.impl;

import com.github.pagehelper.PageInfo;
import edu.nf.exam.dao.LogInfoDao;
import edu.nf.exam.dao.impl.LogInfoDaoImpl;
import edu.nf.exam.entity.LogInfo;
import edu.nf.exam.exception.DataAcessException;
import edu.nf.exam.service.LogService;

import java.util.List;

/**
 * @Author : QYM
 * @create 2021/6/17
 * 用户日志表--业务接口实现类
 */
public class LogServiceImpl implements LogService {
    /**
     * 添加认证
     * @param logInfo
     * @return
     */
    @Override
    public void checkAdd(LogInfo logInfo) {
        LogInfoDao dao=new LogInfoDaoImpl();
        try {
            dao.add(logInfo);
        } catch (Exception e) {
            e.printStackTrace();
            throw new DataAcessException("日志添加失败");
        }
    }

    /**
     * 查询所有日志认证
     * @param logInfo
     * @return
     */
    @Override
    public List<LogInfo> checkSelectAll(LogInfo logInfo) {
        LogInfoDao dao =new LogInfoDaoImpl();
        try {
            List<LogInfo> list = dao.selectAll(logInfo);
            return list;
        } catch (Exception e) {
            e.printStackTrace();
            throw new DataAcessException("日志查询失败");
        }

    }

    /**
     * 分页查询所有日志
     * @param userId
     * @param userName
     * @param pageNum
     * @param pageSize
     * @return
     */
    @Override
    public PageInfo<LogInfo> selectByPage(Integer userId, String userName, Integer pageNum, Integer pageSize) {
        // 通过dao查询返回分页数据集合
        List<LogInfo> list = new LogInfoDaoImpl().selectByPage(userId, userName, pageNum, pageSize);
        // 封装为pageInfo分页信息对象
        PageInfo<LogInfo> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }

    /**
     * 根据日期查询当天的日志数
     * @param createTime
     * @return
     */
    @Override
    public List<LogInfo> selectByCreateTime(String createTime) {
        List<LogInfo> list = new LogInfoDaoImpl().selectByCreateTime(createTime);
        return list;
    }
}
